export const IMAGE_ANALYSIS_PROMPT = `请分析图像内容并完成以下任务：

如果图中是自然图像，请提取主要实体对象（如动物、物品等），使用简体中文命名。
如果图中包含文字，请完整提取并返回文字内容。
如果图像中既无实体也无文字，请返回空数组。
输出格式要求：

返回一个标准的 JSON 对象，包含两个字段：
"entities"：字符串数组，表示图像中的实体对象，如 ["猫", "狗"]
"text"：字符串，表示图像中识别出的文字内容，如果没有则为空字符串 ""
示例输出格式如下：{
  "entities": ["猫", "狗"],
  "text": "这是一段示例文字"
} `;

export function genImageQuestionPrompt(prompt: string, block: string) {
    return `
    ${prompt}
    
 【可用标注区域】：
${JSON.stringify(block, null, 2)}


【生成要求】：
1. 可以引用区域生成问题，也可以不引用区域生成问题，如果引用区域必须使用 @[标签名](id) 格式引用区域
2. 包含位置、关系和特征三类问题
3. 返回字符串数组

【输出要求】
\`\`\`json
["问题1","问题2"]
\`\`\`
  
【输出示例】["这个区域 @[区域A](0vLhjN1o20A6FpVeUMc31) 在图像中的具体位置是什么？", "@[区域B](4BGKxhgjv5BmpexDmcl8y) 与其他区域的关系是什么？"]
    `;
}

export function genImageAnswerPrompt(question: string, block: string, language: string = 'zh-CN') {
    return `
# 图像分析专家指令

## 系统角色
你是一名专业的计算机视觉分析专家，专门通过结构化坐标数据解析图像空间关系和内容。你必须严格遵守以下核心原则：

**强制规则：**
1. 严格基于提供的坐标数据进行分析，绝不虚构或假设不存在的信息
2. 优先使用区域标签(label)进行描述，无标签时使用"区域1"、"区域2"等默认命名
3. 精确计算空间关系（重叠面积、相对位置、尺寸比例）
4. 回答必须客观、准确、基于数据证据

## 输入数据
### 用户问题
"${question}"

### 坐标数据
${block}

### 数据格式说明
- **标准格式**: [x,y,w,h] 或 [x:100,y:200,w:50,h:80]
- **数据字段**:
  - x: 水平坐标 | y: 垂直坐标
  - w: 宽度 | h: 高度
  - label: 区域标识（可能为空）

## 分析流程
1. **坐标解析** → 提取每个区域的精确位置和尺寸
2. **空间计算** → 计算重叠面积、相对位置、中心点距离
3. **逻辑推理** → 基于计算结果推断空间关系
4. **证据匹配** → 将推理结果与问题要求匹配

## 输出规范
\`\`\`json
{
  "answer": "直接、简洁的问题回答，包含具体证据说明",
  "evidence": [
    {
      "text": "支持结论的具体数据或特征描述",
      "location": "坐标位置或空间关系描述"
    }
  ],
  "confidence": 0.0-1.0 // 基于数据完整性和计算确定性的置信度
}
\`\`\`

## 示例参考

### 示例1：种类比较
**问题**: "[x:513 y:335 w:398 h:716] 和 [x:0 y:691 w:600 h:300] 是一个种类嘛？"
**输出**: 
{
  "answer": "是的，两个区域都属于猫类，一个呈躺卧姿态，一个呈站立姿态。",
  "evidence": [
    {
      "text": "区域A尺寸398×716（竖长矩形），区域B尺寸600×300（横宽矩形）",
      "location": "区域A中心点(612,693)，区域B中心点(300,841)"
    }
  ],
  "confidence": 0.9
}

### 示例2：位置关系
**问题**: "哪个区域在左边？"
**输出**: 
{
  "answer": "区域A在区域B的左侧，水平偏移约213像素。",
  "evidence": [
    {
      "text": "区域A右边界x=911，区域B左边界x=90",
      "location": "区域A中心x=543.5，区域B中心x=512"
    }
  ],
  "confidence": 0.95
}

## 特殊情况处理

### 1. 模糊问题
- **水平/垂直比较**: "请明确是比较水平位置还是垂直位置？"
- **多重关系**: "需要比较位置关系、尺寸比例还是重叠面积？"

### 2. 数据问题
- **无效坐标**: "坐标数据不完整，无法进行精确分析"
- **缺失标签**: 使用"区域1"、"区域2"进行标识
- **坐标越界**: "部分坐标超出合理范围，分析结果可能不准确"

### 3. 置信度评估标准
- 0.9-1.0: 数据完整，计算明确
- 0.7-0.9: 数据基本完整，推理合理
- 0.5-0.7: 数据部分缺失，需要假设
- <0.5: 数据严重不足，结论不可靠

## 严格禁止
- 添加任何JSON之外的解释文字
- 使用模糊词汇（"可能"、"大概"等）
- 超出坐标数据范围的推测
- 忽略空间计算直接回答

**最终输出必须严格符合JSON格式，且仅包含指定字段。**
`;
}
